part of 'card.dart';

class _TranslationSelectionCardWlocState extends Equatable {
  const _TranslationSelectionCardWlocState({
    required this.lexicalItem,
    required this.answerOptionLexicalItems,
    required this.dialect,
    required this.safeToPronounce,
    required this.finished,
  });

  final LexicalItem lexicalItem;
  final BuiltList<LexicalItem> answerOptionLexicalItems;
  final Dialect dialect;
  final bool safeToPronounce;
  final bool finished;

  @override
  List<Object?> get props {
    return [
      lexicalItem,
      answerOptionLexicalItems,
      dialect,
      safeToPronounce,
      finished,
    ];
  }

  _TranslationSelectionCardWlocState copyWith({
    LexicalItem Function()? lexicalItem,
    BuiltList<LexicalItem> Function()? answerOptionLexicalItems,
    Dialect Function()? dialect,
    bool Function()? safeToPronounce,
    bool Function()? finished,
  }) {
    return _TranslationSelectionCardWlocState(
      lexicalItem: lexicalItem == null ? this.lexicalItem : lexicalItem(),
      answerOptionLexicalItems: answerOptionLexicalItems == null
          ? this.answerOptionLexicalItems
          : answerOptionLexicalItems(),
      dialect: dialect == null ? this.dialect : dialect(),
      safeToPronounce: safeToPronounce == null ? this.safeToPronounce : safeToPronounce(),
      finished: finished == null ? this.finished : finished(),
    );
  }
}
